package com.telcordia.cvas.rpn;

import static org.junit.Assert.assertEquals;

import org.junit.Before;
import org.junit.Test;

public class SumTest {
	Sum sum;
	OperandStack stack;
	
	@Before
	public void init() {
		sum = new Sum();
		stack = new OperandStack();
	}
	
	@Test
	public void sizeAfterSumIs1() {
		sum.execute(stack);
		assertEquals(1, stack.size());
	}
	
	@Test
	public void sumOfEmptyStack() {
		sum.execute(stack);
		assertEquals(0, stack.peek());
	}
	
	@Test
	public void sumOfStackWithSeveralItems() {
		for(int i = 1; i < 10; ++i)
			stack.push(i);
		
		sum.execute(stack);
		
		assertEquals(45, stack.peek());
	}
}
